# @Time    :2025/3/30 19:36
"""
题目：创建一个 Student 类，包含类属性 school_name（初始值为 "默认学校"）
和实例属性 name（姓名）、age（年龄）。
编写方法实现以下功能：通过实例修改类属性 school_name 并观察效果；
创建多个实例，展示实例属性的独立性；通过类方法修改类属性 school_name。
"""


class Student:
    school_name = "默认学校"                            #------类属性

    def __init__(self, name, age):
        self.__home="earth"                            #------私有属性
        self.name1 = name                              #-----实例属性、实例变量
        self.age1 = age

    def change_school_name(self, new_name):            #----实例方法
        self.school_name = new_name

    @classmethod                                        #------类方法
    def class_change_school_name(cls, new_name):
        cls.school_name = new_name


# 实例化添加学生
stu1 = Student("微微", 12)
stu2 = Student("海航", 23)
stu3 = Student("晶晶", 33)

print(Student.school_name)  # 类名--类属性
print(stu1.school_name)  # 实例1---类属性
print(stu2.school_name)
print(stu2.school_name)
print("--------------新学校001 --------------------")
stu1.change_school_name("新学校001")          #通过实例化对象 改名
print(Student.school_name)  # 类名--类属性
print(stu1.school_name)  # 实例1---类属性
print(stu2.school_name)
print(stu2.school_name)

print("-------------最中学校 ------------------------")
Student.class_change_school_name("最中学校")    #类名 调类方法
print(Student.school_name)  # 类名--类属性
print(stu1.school_name)  # 实例1---类属性
print(stu2.school_name)
print(stu2.school_name)